package com.hsu.usercenter.common;

/**
 * @ClassName:ErrorCode
 * @author Hsu琛君珩
 * @date 2024-03-21
 * @apiNote
 * @Version: v1.0
 */
public enum ErrorCode {
    //操作成功完成，没有错误发生。
    SUCCESS(0,"ok",""),
    //请求中的参数有误。用于客户端提供了不符合预期的参数时。例如，必要字段缺失或参数格式错误。
    PARAMS_ERROR(40000,"请求参数错误",""),
    //表示请求中的数据为空。用于当预期中应该有数据的请求体实际上是空的情况。
    NULL_ERROR(40001,"请求数据为空",""),
    //表示用户未登录或会话已过期。用于需要用户登录的操作但用户未登录或会话失效的情况。
    NOT_LOGIN(40100,"未登录",""),
    //表示用户没有权限执行某项操作。用于访问受限资源时用户认证失败或未提供认证信息。
    NO_AUTH(40101,"无权限",""),
    //表示服务器内部错误。通常用于服务器发生异常，如数据库错误、第三方服务失败或代码运行时异常。
    SYSTEM_ERROR(50000,"系统内部异常","");

    private final int code;
    /**
     * 状态码信息
     */
    private final String message;
    /**
     * 状态码描述（详情）
     */
    private final String description;

    ErrorCode(int code, String message, String description) {
        this.code = code;
        this.message = message;
        this.description = description;
    }

    public int getCode() {
        return code;
    }

    public String getMessage() {
        return message;
    }

    public String getDescription() {
        return description;
    }
}
